1. Field of the Invention
This invention relates to the field of integrated circuits. More particularly, this invention relates to the capture of diagnostic data within integrated circuits, such as, for example, as is used in debugging, performance monitoring, design and other processes.
2. Description of the Prior Art
It is known to provide integrated circuits with built in systems which capture and then output diagnostic data. An example of such integrated circuits are those produced by ARM Limited of Cambridge, England which include the embedded trace macrocell (ETM). The ETM system operates to capture trace data, such as data identifying program instructions executed, data values manipulated etc, into an on-chip trace buffer for later output to an external diagnostic device. A problem with the ETM-type systems is that they consume a relatively large amount of circuit resource. The circuit area devoted to this diagnostic use does not have a substantial use in production integrated circuits once the design and development work which utilise the ETM circuits has been completed.
It is also known to insert within program code in development systems program instructions which are intended to output diagnostic data from the integrated circuit, using a UART or other comms resource. A disadvantage with this program driven approach is that it imposes a significant load on the program concerned and can distort its operation in a way which makes the diagnostic data less useful. This is a particular problem because the device interfaces are not designed for direct access. Worse, if the comms device is full (cannot take more data), the application may get stalled or data lost without record. Conversely, if the elements of the program code are made of a sufficiently low priority and sufficiently infrequently activate that they do not impact performance, then the amount of information that can be recovered is limited and the timing of that information may also be disadvantageously delayed.